package com.xiangshizhineng.tianzhangzhi.app.model.entity;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xiangshizhineng.tianzhangzhi.app.common.base.BaseEntity;
import com.xiangshizhineng.tianzhangzhi.app.utils.LongJsonSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "事件表")
public class Event extends BaseEntity implements Serializable {

  /**
   * 任务id
   */
  @ApiModelProperty(value = "任务id")
  @JsonSerialize(using = LongJsonSerializer.class)
  private Long taskId;
  /**
   * 事件名称
   */
  @ApiModelProperty(value = "事件名称")
  private String eventName;
  /**
   * 事件违法类型（字典表）
   */
  @ApiModelProperty(value = "事件违法类型（字典表）")
  @JsonSerialize(using = LongJsonSerializer.class)
  private Long eventIllegalTypeId;
  /**
   * 事件描述
   */
  @ApiModelProperty(value = "事件描述")
  private String eventDes;
  /**
   * x坐标
   */
  @ApiModelProperty(value = "x坐标")
  private BigDecimal eventX;
  /**
   * y坐标
   */
  @ApiModelProperty(value = "y坐标")
  private BigDecimal eventY;
  /**
   * 上报时间
   */
  @ApiModelProperty(value = "上报时间")
  private Date createTime;
  /**
   * 
   */
  @ApiModelProperty(value = "")
  private Date updateTime;
  /**
   * 事件状态（字典表）
   */
  @ApiModelProperty(value = "事件状态（字典表）")
  @JsonSerialize(using = LongJsonSerializer.class)
  private Long eventStatusId;
  /**
   * 事件上报方式（0普通上报,1快速上报）
   */
  @ApiModelProperty(value = "事件上报方式（0普通上报,1快速上报）")
  private Long eventReportTypeId;
  /**
   * 解决情况
   */
  @ApiModelProperty(value = "解决情况")
  private String solveSituation;
  /**
   * 审核人(当前用户的上级田长id)
   */
  @ApiModelProperty(value = "审核人(当前用户的上级田长id)")
  private Long reviewer;
  /**
   * 上报人id
   */
  @ApiModelProperty(value = "上报人id")
  private Long reportBy;
  /**
   * 审核意见
   */
  @ApiModelProperty(value = "审核意见")
  private String reviewComments;
  /**
   * 审核时间
   */
  @ApiModelProperty(value = "审核时间")
  private Date reviewerTime;

}
